Apache Commons Daemon Jsvc를 이용해서 Java Daemon을 실행하는 샘플 :: 자바일반[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

자바일반
[1]
등록일:2018-07-06 23:39:28 (0%)
작성자:
제목:Apache Commons Daemon Jsvc를 이용해서 Java Daemon을 실행하는 샘플
## Java 데몬을 Apache Commons Daemon 프로젝트의 jsvc를 이용해서 실행시키는 예제 

첨부파일 : commons-daemon-1.0.15-src.tar.gz
 
Daemon  : CountService (1초마다 한줄씩 텍스트 파일에 현재 시간을 기록하는 Java Daemon)
Java Source : http://blog.naver.com/wizardkyn/220842828329 (Windows 용 procrun 예제)
설치 및 작업 디렉토리 : /var/dbdump

1. 필수 라이브러리 설치
[root@ip-172-31-4-242 unix]# yum install gcc autoconf

2. jsvc build
[root@ip-172-31-4-242 ~]# tar xvfz commons-daemon-1.0.15-src.tar.gz
[root@ip-172-31-4-242 ~]# cd commons-daemon-1.0.15-src/src/native/unix

[root@ip-172-31-4-242 unix]# ./support/buildconf.sh 
./support/buildconf.sh: configure script generated successfully

# 자신의 JAVA_HOME 경로지정
[root@ip-172-31-4-242 unix]# ./configure --with-java=/usr/java/default
[root@ip-172-31-4-242 unix]# make

# 작업 디렉토리로 복사
[root@ip-172-31-4-242 unix]# cp jsvc /var/dbdump/

3. jsvc start
[root@ip-172-31-4-242 dbdump]# /var/dbdump/jsvc -cp /var/dbdump/DbDump.jar com.bcg.dbdump.sample.CountService

# 데몬 확인
[root@ip-172-31-4-242 log]# ps -ef|grep jsvc
root     15777     1  0 00:42 ?        00:00:00 jsvc.exec -cp /var/dbdump/DbDump.jar com.bcg.dbdump.sample.CountService
root     15778 15777  0 00:42 ?        00:00:00 jsvc.exec -cp /var/dbdump/DbDump.jar com.bcg.dbdump.sample.CountService

4. jsvc stop
[root@ip-172-31-4-242 dbdump]# /var/dbdump/jsvc -stop -cp /var/dbdump/DbDump.jar com.bcg.dbdump.sample.CountService

5. CentOS 7 / RHEL 7.2 Systemd Service 로 등록


systemd unit file 생성 및 수정

[root@ip-172-31-4-242 ~]# touch /etc/systemd/system/CountService.service
[root@ip-172-31-4-242 ~]# chmod 664 /etc/systemd/system/CountService.service
[root@ip-172-31-4-242 ~]# vi /etc/systemd/system/CountService.service

아래 내용 추가

[Unit]
Description=Sample Winodws Service as Java Daemon
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/var/dbdump/jsvc -cp /var/dbdump/DbDump.jar com.bcg.dbdump.sample.CountService
ExecStop=/var/dbdump/jsvc -stop -cp /var/dbdump/DbDump.jar com.bcg.dbdump.sample.CountService

[Install]
WantedBy=multi-user.target



systemd 갱신 및 서비스 start

[root@ip-172-31-4-242 ~]# systemctl daemon-reload
[root@ip-172-31-4-242 ~]# systemctl start CountService
[root@ip-172-31-4-242 ~]# systemctl status CountService
[0m CountService.service - Sample Winodws Service as Java Daemon
   Loaded: loaded (/etc/systemd/system/CountService.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2016-10-25 07:03:27 EDT; 9s ago
  Process: 21368 ExecStart=/var/dbdump/jsvc -cp /var/dbdump/DbDump.jar com.bcg.dbdump.sample.CountService (code=exited, status=0/SUCCESS)
 Main PID: 21369 (jsvc)
   CGroup: /system.slice/CountService.service
           쒋21369 jsvc.exec -cp /var/dbdump/DbDump.jar com.bcg.dbdump.sample.CountService
           붴21370 jsvc.exec -cp /var/dbdump/DbDump.jar com.bcg.dbdump.sample.CountService

Oct 25 07:03:27 ip-172-31-4-242.ap-northeast-2.compute.internal systemd[1]: Starting Sample Winodws Service as Java Daemon...
Oct 25 07:03:27 ip-172-31-4-242.ap-northeast-2.compute.internal systemd[1]: Started Sample Winodws Service as Java Daemon.

[root@ip-172-31-4-242 ~]# systemctl stop CountService
[root@ip-172-31-4-242 log]# systemctl status CountService
CountService.service - Sample Winodws Service as Java Daemon
   Loaded: loaded (/etc/systemd/system/CountService.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

Oct 25 07:03:27 ip-172-31-4-242.ap-northeast-2.compute.internal systemd[1]: Starting Sample Winodws Service as Java Daemon...
Oct 25 07:03:27 ip-172-31-4-242.ap-northeast-2.compute.internal systemd[1]: Started Sample Winodws Service as Java Daemon.
Oct 25 07:05:32 ip-172-31-4-242.ap-northeast-2.compute.internal systemd[1]: Stopping Sample Winodws Service as Java Daemon...
Oct 25 07:05:33 ip-172-31-4-242.ap-northeast-2.compute.internal systemd[1]: Stopped Sample Winodws Service as Java Daemon.

# 서비스 활성화
[root@ip-172-31-4-242 ~]# systemctl enable CountServic



[본문링크] Apache Commons Daemon Jsvc를 이용해서 Java Daemon을 실행하는 샘플
[1]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=34679
작성자
비밀번호

 

SSISOCommunity

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.